import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from "../components/Login";
import Home from "../components/Home";
import Welcome from "../components/Welcome";
import Users from "../components/user/Users";

Vue.use(VueRouter)

const routes = [
    {
        path: '/',
        redirect: '/login'
    },
    {
        path: '/login',
        name: 'login',
        component: Login
    },
    {
        path: '/home',
        name: 'home',
        component: Home,
        //访问Home自动重定向至Welcome
        redirect: '/welcome',
        //指定某个分支下的子路由
        children: [
            {
                path: '/welcome',
                name: 'welcome',
                component: Welcome
            },
            {
                path: '/users',
                name: 'users',
                component: Users
            }

        ]
    }
]

const router = new VueRouter({
    routes
});

//挂载路由导航守卫
router.beforeEach((to, from, next) => {
    //to 将要访问的路径
    //from 代表从哪个路径跳转而来
    //next 是一个函数，表示放行
    //  next() 放行   next('/login') 强制跳转
    if (to.path === '/login') return next();
    //获取token
    const tokenStr = window.sessionStorage.getItem('token');

    if (!tokenStr) return next('/login');
    next();
})

export default router
